Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@everymundo/aws-instance-identity

Package Overview
Dependencies
Maintainers
19
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@everymundo/aws-instance-identity

Returns information about the AWS Instance that calls it

  • 0.1.1
  • Source
  • npm
  • Socket score

Version published
Maintainers
19
Created
Source

@everymundo/aws-instance-identity

Returns information about the AWS Instance that calls it

Installation

npm install @everymundo/aws-instance-identity

Usage

With promise

const { getIdentityDocument } = require('@everymundo/aws-instance-identity');
getIdentityDocument()
  .then((result) => {
    console.log(result);
  })
  .catch((err) => {
    console.error(err);
  });

With async/await

const { getIdentityDocument } = require('@everymundo/aws-instance-identity');

const init = async() => {
  try {
    const result = getIdentityDocument();
    console.log(result);
  } catch (e) {
    console.error(err);
  }
}

Running outside AWS servers

When running locally it will fail the request since that request is done to an endpoint that only works inside the aws infrastructure.

With Socks Proxy

If you really want to get a document you can do so by running a socks proxy with an AWS instance via ssh. The connection can be stablished by running the following command:

# You should replace your-instance-address by your instance address
ssh -ND 8157 your-instance-address &> /dev/null & PID=$! && echo $PID

After that you can just set the environment variable SOCKS_PROXY=socks://127.0.0.1:8157 and run your aplication.

You can try that out in a node console

SOCKS_PROXY=socks://127.0.0.1:8157 node -e "require('@everymundo/aws-instance-identity').getIdentityDocument().then(console.log)"

The output would be similar to this:

{
  privateIp: '192.168.0.12',
  devpayProductCodes: null,
  availabilityZone: 'us-west-1a',
  version: '2010-08-31',
  instanceId: 'i-2093840273489',
  billingProducts: null,
  instanceType: 'm4.xlarge',
  accountId: '98237498273984',
  architecture: 'x86_64',
  kernelId: null,
  ramdiskId: null,
  imageId: 'ami-34cb443',
  pendingTime: '2017-10-20T20:41:03Z',
  region: 'us-west-1'
}
Without Socks Proxy

This should bring you an error

node -e "require('@everymundo/aws-instance-identity').getIdentityDocument().catch(console.error)"

The error message would be something similar to this:

{ code: 599,
  start: 2018-03-21T04:35:54.692Z,
  end: 1521606957775,
  err:
   { Error: connect EHOSTUNREACH 169.254.169.254:80
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1170:14)
     errno: 'EHOSTUNREACH',
     code: 'EHOSTUNREACH',
     syscall: 'connect',
     address: '169.254.169.254',
     port: 80 },
  attempt: 1,
  endpoint: 'http://169.254.169.254/latest/dynamic/instance-identity/document' }

FAQs

Package last updated on 21 Mar 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc